Software provisioning is the process of selecting a target machine, such as a server, loading the appropriate software (operating system, device drivers, middleware, and applications), and customizing and configuring the system and the software to make it ready for operation. Software provisioning can entail a variety of tasks, such as creating or changing a boot image, specifying parameters, e.g. IP address, IP gateway, to find associated network and storage resources, and then starting the machine and its newly-loaded software. Typically, a system administrator will perform these tasks using various tools because of the complexity of these tasks. Unfortunately, there is a lack of provisioning control tools that can adequately integrate and automate these tasks.
Furthermore, none of the known provisioning control tools provide virtualization installation support unified with other provisioning types on a target machine. Virtualization install support requires knowledge of additional parameters and to date cannot be automated for software rollouts with the current available tools.
Ideally, provisioning control tools would be able to handle the various types of provisioning. For example, many system administrators in data centers utilize Preboot Execution Environment (PXE) installations. However, other forms of provisioning, such as virtualization installations, and re-installations are also common. Accordingly, it would be desirable to provide provisioning control tools that can handle different types of installations.